1. Field of the Invention
The present invention relates to computer networks. More particularly, the present invention relates to performing a call to a service manager via a common object request broker architecture (CORBA) interface.
2. Background Information
A client connected to a computer network may request a service manager (SM) to retrieve information from at least one storage device that is managed by the service manager. For example, a client of a telecommunications service provider may retrieve customer data from, or forward a service request to, a storage device via calls to a service manager. The client may be, for example, a networked computer used by a provisioning employee of the telecommunications service provider.
Additionally, a networked customer may call a service manager using, for example, a personal computer connected to the Internet. Alternatively, a customer of a telecommunications service provider may call a designated number using the public switched telephone network (PSTN) or an advanced intelligent network (AIN). The customer interacts with an intelligent peripheral (IP) or service node/intelligent peripheral (SN/IP) with interactive voice response functionality. In the case of a customer using the PSTN or AIN, the computer network client may be a proxy client for the customer in submitting a data signal request to a service manager over a computer network.
A problem is known to occur when a request is made by a client to a service manager using a common object request broker architecture (CORBA) interface. Currently, a client running a thread, for example a Java thread, that forwards a request to a service manager may only have a limited number of threads available. For any number of reasons, a response to a request may be returned very slowly or not at all. For example, a service manager may need to search a large number of storage devices with a large amount of stored data, or the service manager may need to return a large amount of data in response to a request from a client. Additionally, an error may occur at the service manager while the client continues to run the thread and wait for a response to the request. Since a Java thread on the client is not freed until a response is returned from the service manager the client may lose a limited resource (i.e., the thread) indefinitely.
When a client waits indefinitely for a response to a request from a Java thread, the provisioning or customer access system (client) is left with only the remaining Java threads to perform queries. As a result, even if only a small percentage of requests do not generate a prompt response from the service manager, the client can eventually run out of Java threads and be unable to perform further queries.
Additionally, a problem is known to occur when a client is unable to make a query language call, for example a general structured query language (SQL) call (request), via a common object request broker architecture (CORBA) interface to a service manager. For example, a telecommunications service provider client is unable to make a SQL call via a Lucent enhanced service manager (eSM) common object request broker architecture interface. If a client had the ability to pass a SQL string to a service manager via a common object request broker architecture request, a client could instruct the service manager to iteratively return data and thereby minimize a period of time spent waiting for a response from the service manager.
To avoid the problems set forth above, a computer network apparatus and method are needed to more efficiently forward a request via a CORBA interface while minimizing interference with other client requests. For example, a need exists for timing the length of a CORBA request made by a client and ending the thread that initiated the request when the length of time waiting for a response is greater than a preset amount. Additionally, a need exists for iteratively returning information in response to a CORBA request so as to improve the efficiency of a computer network. Furthermore, an ability to pass a SQL string to a service manager via a CORBA request is needed to ensure a client either receives a prompt response from a service manager or ends the thread making the request.